package com.ophiux.micro.core.domain.page;

import java.util.List;
import java.util.Map;

public interface Page <T> {
	
	/**
	 * 判断是否有内容   666
	 * @return  true:有   false：没有
	 */
	public boolean hasContent();
	
	/**
	 * 获取当前页标
	 * @return pageIndex
	 */
	public int getCurrentPageIndex();
	
	/**
	 * 获取分页大小
	 * @return
	 */
	public int getPageSize();
	
	/**
	 * 获取当前页实际数量
	 * @return
	 */
	public int getPageDataCount();
	
	/**
	 * 判断当前页是否已满
	 * @return	true：已满   false：未满
	 */
	public boolean isFull();
	
	/**
	 * 设置分页内容
	 */
	public void setPageContent(List<T> content);
	
	/**
	 * 获取分页内容
	 */
	public List<T> getPageContent();
	
	/**
	 * 记录查询条件
	 * @param queryPredicate
	 */
	public void setQueryPredicate(Map queryPredicate);
	
	/**
	 * 获取查询谓词，查询条件
	 * @return
	 */
	public Map getQueryPredicate();
	
	/**
	 * 获取总页数
	 * @return
	 */
	public int getTotalPage();
	
	
	/**
	 * 获取总数量
	 * @return
	 */
	public int getTotalCount();
	
	/**
	 * 是否是最后一页
	 * true:是
	 * false：不是
	 * @return
	 */
	public boolean isLastPage();
	
}
